package Demo;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

public class jsonDemo1 {
    public static void main(String[] args) {
        String jsonstr="{\"studentid\":001,\"name\":\"zhang\",\"score\":98,\"hobby\":\"敲代码\",\"clazz\":\"一班\"}";

        //fastjson通过反射进行转换,将json转换为指定对象，这里是Student对象
        Student student = JSON.parseObject(jsonstr, Student.class);
        System.out.println(student.toString());


        //如果只是想获取其中一个字段的值，那么像上面这样重新创建一个新的对象很麻烦
        //使用JSON.parseObject方法时，可以不指定后面的类
        //这样就会默认转换为JSONObject对象，而不用再创建Student类或者hashmap对象
        //JSONObject对象里面存储的数据是key——value类型吗，可以通过get(key)的方式直接获取value值
        JSONObject jsonObject = JSON.parseObject(jsonstr);
        Object name = jsonObject.get("name");
        System.out.println(name);


        System.out.println("---------------");
        //将对象转换为json
        //Object类型的json
        Object o = JSON.toJSON(student);
        System.out.println(o);
        //指定为String类型的json
        String s = JSON.toJSONString(student);
        System.out.println(s);


    }
}
